package com.sc.VenusQueryBeta.contract.home.tabs;

import com.sc.VenusQueryBeta.model.bean.home.HomeBannerBean;
import com.sc.VenusQueryBeta.model.bean.home.HomeNoticeBean;
import com.sc.VenusQueryBeta.model.bean.home.HostListBean;

import io.reactivex.Observable;

/**
 * Created by SC-02 on 2018/9/19.
 * 最新资讯的契约接口
 */

public interface ZhiXunContract {
    abstract class ZhiXunPresenter extends BaseTabsContract.BaseTabsPresenter<IZhiXunModel,
            IZhihuView, Object> {
        //获取首页轮播数据
        public abstract void getHomeBannerData();

        //获取首页公告
        public abstract void getHomeNoticeData();

        //获取首页热门活动列表
        public abstract void getHotActivityListData();
    }

    interface IZhiXunModel extends BaseTabsContract.IBaseTabsModel {
        //获取首页轮播数据
        Observable<HomeBannerBean> getHomeBanner();

        //获取首页公告
        Observable<HomeNoticeBean> getHomeNotice();
        //获取首页热门活动列表
        Observable<HostListBean> getHomeHotList();
    }

    interface IZhihuView extends BaseTabsContract.IBaseTabsView<Object> {
        /**
         * 显示banner数据
         *
         * @param homeBannerBean bannerbean'
         */
        void showHomeBannerDataSuccess(HomeBannerBean homeBannerBean);

        /**
         * 显示网络错误
         */
        void showNetworkError();


        /**
         * 显示公告r数据
         *
         * @param homeNoticeBean homeNoticeBean'
         */
        void showHomeNoticeDataSuccess(HomeNoticeBean homeNoticeBean);

        /**
         * 显示首页热门互动数据
         *
         * @param hostListBean listBean'
         */
        void showHomHotActivityListDataSuccess(HostListBean hostListBean);

    }
}
